package com.semanticweb.webapp.service;

import java.util.List;

import com.semanticweb.webapp.model.rbac.Object;
import com.semanticweb.webapp.model.rbac.User;

/**
 * RBAC service interface.
 * 
 * @author Vedran Cuca 19/2011
 * 
 */
public interface RBACService {

    void createUsers();

    Object addNewObject(String objectId);

    boolean canReadObject(String objectId, String username);

    boolean canCreateObject(String objectId, String username);

    boolean canUpdateObject(String objectId, String username);

    boolean canDeleteObject(String objectId, String username);

    User getUser(String username, String password);

    User getUser(String username);

    List<String> getRoleNamesForUser(String username);

}
